/*
 * @Author: 0x9DEFA478
 * @Date: 2024-09-11 11:11:18
 * @LastEditTime: 2025-08-15 00:15:09
 * @LastEditors: 0x9DEFA478
 * @Description: 
 * 
 * 
 */
#ifndef hSystemProcess_HPP_
#define hSystemProcess_HPP_
#include <string>
#include <vector>
#include "H_Pointer.hpp"




class SystemProcess{
  public:

    SystemProcess()=default;
    virtual ~SystemProcess()=default;

    virtual void Run(const H::Pointer<std::string>::Const& Command,bool pipeIO)=0;

    virtual bool WriteInput(const std::string& str)=0;
    virtual H::Pointer<char> ReadOutput()=0;
    virtual std::string ReadLine(char SplitChar='\n')=0;
    virtual bool IsStop()=0;
    virtual void WaitStop()=0;
    virtual void Stop()=0;
    virtual int GetResult()=0;
};




#endif //hSystemProcess_HPP_
